package com.jier.dao;

import com.jier.dto.BaseParamDto;
import com.jier.entities.SystemModule;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 系统模块数据接口
 *
 * @author jie_r
 * @date 2018/03/08
 */
@Repository
public interface SystemModuleDao extends BaseDao<SystemModule> {
    /**
     * 根据角色ID获取一级菜单
     *
     * @param systemRoleId
     * @return
     */
    List<SystemModule> getFirstLevelNavesByRoleId(Integer systemRoleId);

    /**
     * 根据角色ID获取二级菜单
     *
     * @param systemRoleId
     * @return
     */
    List<SystemModule> getSecondLevelNavesByRoleId(Integer systemRoleId);

    /**
     * 获取系统父级模块
     *
     * @param param
     * @return
     */
    List<SystemModule> getSystemParentModule(@Param("param") BaseParamDto param);

    /**
     * 获取系统子级模块
     *
     * @param parentId
     * @return
     */
    List<SystemModule> getSystemChildModule(@Param("parentId") Integer parentId);

    /**
     * 通过权限编号获取系统模块
     *
     * @param permissionCode
     * @return
     */
    List<SystemModule> getSystemModuleByPermissionCode(@Param("permissionCode") String permissionCode);
}
